82 research outputs found

    A MDA Approach to Model & Implement Transformations

    Get PDF
    Only in software and in linguistics a model has the same nature as the thing it models. In software at least, this opens the possibility to automatically derive software from its model. This property is well known from any compiler writer (and others), but it was recently be made quite popular with an OMG initiative called the Model Driven Architecture (MDA). The model transformations allowing the engineers to more or less automatically go from platform-independent models (PIM) to platform-specific models (PSM) are increasingly seen as vital assets that must be managed with sound software engineering principles. We believe that transformations should be first-class models in the MDA world; we propose to adopt the object-oriented approach and to leverage the expressive power of UML as a metamodel defining the transformation language

    Modeling and Aspect Weaving

    Get PDF
    A model is a simplified representation of an aspect of the world for a specific purpose. Complex systems typically give rise to more than one model because many aspects are to be handled. For software systems, the design process can be characterized as a (partially automated) weaving of these aspects into a detailed design model. While verification is usually feasible on each of the aspects, it is seldom possible on the resulting detailed design because of the size explosion. Hence we need weaving processes that exhibit good composition properties from the point of view of verification. We present an example of such a weaving process for behavioral models represented as scenarios

    A Model-driven Framework for Professional Service Designers and Developers

    Get PDF
    A Service Creation Environment (SCE) aims to speed-up the process of designing, developing, deploying, testing and maintaining telecommunication services. This paper describes the solution build in the context of the IST SPICE collaborative project. The developed SCE exploits generative techniques to produce implementations from abstract service definitions as well as a flexible execution engine capable to manage variability in component usage and selection

    Facilités de typage pour l'ingénierie des langages

    Get PDF
    Le nombre et la complexité toujours croissants des préoccupations prises en compte dans les systèmes logiciels complexes (e.g., sécurité, IHM, scalabilité, préoccupations du domaine d'application) poussent les concepteurs de tels systèmes à séparer ces préoccupations afin de les traiter de manière indépendante. L'ingénierie dirigée par les modèles (IDM) prône la séparation des préoccupations au sein de langages de modélisation dédiés. Les langages de modélisation dédiés permettent de capitaliser le savoir et le savoir-faire associés à une préoccupation au travers des constructions du langage et des outils associés. Cependant la définition et l'outillage d'un langage dédié demande un effort de développement important pour un public par définition réduit. Nous proposons dans cette thèse une relation liant les modèles et une interface de modèle permettant de faciliter la mise en place de facilités de typage pour la définition et l'outillage d'un langage dédié. Cette interface expose les éléments de modèle et les transformations de modèles associés à un langage de modélisation dédié. Nous représentons une telle interface par un type de modèles supportant des relations de sous-typage et d'héritage. Dans ce but nous définissons : une relation de typage entre les modèles et les langages de modélisation dédiés permettant de considérer les modèles comme des entités de première classe ; des relations de sous-typage entre langages de modélisation dédiés permettant la réutilisation de la syntaxe abstraite et des transformations de modèles.The ever growing number and complexity of concerns in software intensive systems (e.g., safety, HMI, scalability, business domain concerns, etc.) leads designers of such systems to separate these concerns to deal with them independently. Model-Driven Engineering (MDE) advocates the separation of concerns in Domain-Specific Modeling Languages (DSMLs). DSMLs are used to capitalize the knowledge and know-how associated with a concern through the language constructs and its associated tools. However, both definition and tooling of a DSML require a significant development effort for a limited audience. In this thesis, we propose a relationship between models and model interfaces in order to ease the design of typing facilities for the definition and tooling of a DSML. This interface exposes the model elements and model transformations associated with a DSML. We represent such an interface by a model type supporting subtyping and inheritance relationships. For this purpose we define : a typing relationship between models and DSMLs allowing to consider models as first-class entities; subtyping relationships between DSMLs enabling the reuse of abstract syntax and model transformations.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Une modélisation de la variabilité multidimensionnelle pour une évolution incrémentale des lignes de produits

    Get PDF
    Le doctorat s'inscrit dans le cadre d'une bourse CIFRE et d'un partenariat entre l'ENSTA Bretagne, l'IRISA et Thales Air Systems. Les préoccupations de ce dernier, et plus particulièrement de l'équipe de rattachement, sont de réaliser des systèmes à logiciels prépondérants embarqués. La complexité de ces systèmes et les besoins de compétitivité associés font émerger la notion de "Model-Based Product Lines(MBPLs)". Celles-ci tendent à réaliser une synergie de l'abstraction de l'Ingénierie Dirigée par les Modèles (IDM) et de la capacité de gestion de la capitalisation et réutilisation des Lignes de Produits (LdPs). La nature irrévocablement dynamique des systèmes réels induit une évolution permanente des LdPs afin de répondre aux nouvelles exigences des clients et pour refléter les changements des artefacts internes de la LdP. L'objectif de cette thèse est unique, maîtriser des incréments d'évolution d'une ligne de produits de systèmes complexes, les contributions pour y parvenir sont duales. La thèse est que 1) une variabilité multidimensionnelle ainsi qu'une modélisation relationnelle est requise dans le cadre de lignes de produits de systèmes complexes pour en améliorer la compréhension et en faciliter l'évolution (proposition d'un cadre générique de décomposition de la modélisation et d'un langage (DSML) nommé PLiMoS, dédié à l'expression relationnelle et intentionnelle dans les MBPLs), et que 2) les efforts de spécialisation lors de la dérivation d'un produit ainsi que l'évolution de la LdP doivent être guidé par une architecture conceptuelle (introduction de motifs architecturaux autour de PLiMoS et du patron ABCDE) et capitalisés dans un processus outillé semi-automatisé d'évolution incrémentale des lignes de produits par extension.The PhD (CIFRE fundings) was supported by a partnership between three actors: ENSTA Bretagne, IRISA and Thales Air Systems. The latter's concerns, and more precisely the ones from the affiliation team, are to build embedded software-intensive systems. The complexity of these systems, combined to the need of competitivity, reveal the notion of Model-Based Product Lines (MBPLs). They make a synergy of the capabilities of modeling and product line approaches, and enable more efficient solutions for modularization with the distinction of abstraction levels and separation of concerns. Besides, the dynamic nature of real-world systems induces that product line models need to evolve continually to meet new customer requirements and to reflect changes in product line artifacts. The aim of the thesis is to handle the increments of evolution of complex systems product lines, the contributions to achieve it are twofolds. The thesis claims that i) a multidimensional variability and a relational modeling are required within a complex system product line in order to enhance comprehension and ease the PL evolution (Conceptual model modularization framework and PliMoS Domain Specific Modeling Language proposition; the language is dedicated to relational and intentional expressions in MBPLs), and that ii) specialization efforts during product derivation have to be guided by a conceptual architecture (architectural patterns on top of PLiMoS, e.g.~ABCDE) and capitalized within a semi-automatic tooled process allowing the incremental PL evolution by extension.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Kevoree (Model@Runtime pour le développement continu de systèmes adaptatifs distribués hétérogènes)

    Get PDF
    La complexité croissante des systèmes d'information modernes a motivé l'apparition de nouveaux paradigmes (objets, composants, services, etc), permettant de mieux appréhender et maîtriser la masse critique de leurs fonctionnalités. Ces systèmes sont construits de façon modulaire et adaptable afin de minimiser les temps d'arrêts dus aux évolutions ou à la maintenance de ceux-ci. Afin de garantir des propriétés non fonctionnelles (par ex. maintien du temps de réponse malgré un nombre croissant de requêtes), ces systèmes sont également amenés à être distribués sur différentes ressources de calcul (grilles). Outre l'apport en puissance de calcul, la distribution peut également intervenir pour distribuer une tâche sur des nœuds aux propriétés spécifiques. C'est le cas dans le cas des terminaux mobiles proches des utilisateurs ou encore des objets et capteurs connectés proches physiquement du contexte de mesure. L'adaptation d'un système et de ses ressources nécessite cependant une connaissance de son état courant afin d'adapter son architecture et sa topologie aux nouveaux besoins. Un nouvel état doit ensuite être propagé à l'ensemble des nœuds de calcul. Le maintien de la cohérence et le partage de cet état est rendu particulièrement difficile à cause des connexions sporadiques inhérentes à la distribution, pouvant amener des sous-systèmes à diverger. En réponse à ces défi scientifiques, cette thèse propose une abstraction de conception et de déploiement pour systèmes distribués dynamiquement adaptables, grâce au principe du Model@Runtime. Cette approche propose la construction d'une couche de réflexion distribuée qui permet la manipulation abstraite de systèmes répartis sur des nœuds hétérogènes. En outre, cette contribution introduit dans la modélisation des systèmes adaptables la notion de cohérence variable, permettant ainsi de capturer la divergence des nœuds de calcul dans leur propre conception. Cette couche de réflexion, désormais cohérente "à terme", permet d'envisager la construction de systèmes adaptatifs hétérogènes, regroupant des nœuds mobiles et embarqués dont la connectivité peut être intermittente. Cette contribution a été concrétisée par un projet nommé ''Kevoree'' dont la validation démontre l'applicabilité de l'approche proposée pour des cas d'usages aussi hétérogènes qu'un réseau de capteurs ou une flotte de terminaux mobiles.The growing complexity of modern IT systems has motivated the development of new paradigms (objects, components, services,...) to better cope with the critical size of their functionalities. Such systems are then built as a modular and dynamically adaptable compositions, allowing them to minimise their down-times while performing evolutions or fixes. In order to ensure non-functional properties (i.e. request latency) such systems are distributed across different computation nodes. Besides the added value in term of computational power (cloud), this distribution can also target nodes with dedicated properties such as mobile nodes and sensors (internet of things), physically close to users for interactions. Adapting a system requires knowledge about its current state in order to adapt its architecture to its evolving needs. A new state must be then disseminated to other nodes to synchronise them. Maintaining its consistency and sharing this state is a difficult task especially in case of sporadic connexions which lead to divergent state between sub-systems. To tackle these scientific problems, this thesis proposes an abstraction to design and deploy distributed adaptive systems following the Model@Runtime paradigm. From this abstraction, the proposed approach allows defining a distributed reflexive layer to manipulate heterogeneous distributed nodes. In particular, this contribution introduces variable consistencies in model definition and divergence in system conception. This reflexive layer, eventually consistent allows the construction of distributed adapted systems even on mobile nodes with intermittent connectivity. This work has been realized in an open source project named Kevoree, and validated on various distributed systems ranging from sensor networks to cloud computing.RENNES1-Bibl. électronique (352382106) / SudocSudocFranceF

    Software engineering for self-adaptive systems:research challenges in the provision of assurances

    Get PDF
    The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip software systems with self-managing capabilities using self-adaptation mechanisms. Despite recent advances in this area, one key aspect of self-adaptive systems that remains to be tackled in depth is the provision of assurances, i.e., the collection, analysis and synthesis of evidence that the system satisfies its stated functional and non-functional requirements during its operation in the presence of self-adaptation. The provision of assurances for self-adaptive systems is challenging since run-time changes introduce a high degree of uncertainty. This paper on research challenges complements previous roadmap papers on software engineering for self-adaptive systems covering a different set of topics, which are related to assurances, namely, perpetual assurances, composition and decomposition of assurances, and assurances obtained from control theory. This research challenges paper is one of the many results of the Dagstuhl Seminar 13511 on Software Engineering for Self-Adaptive Systems: Assurances which took place in December 2013

    Outils pour l'experimentation d'algorithmes distribues sur machines paralleles

    No full text
    SIGLECNRS T Bordereau / INIST-CNRS - Institut de l'Information Scientifique et TechniqueFRFranc
    • …
    corecore